web3.js web3.eth.sendTransaction
web3.eth.sendTransaction(transactionObject [, callback])
トランザクションをネットワークに送信します。
パラメータ
1. Object - 送信するトランザクションオブジェクト
from - String|Number
トランザクションを送信するアカウントのアドレス
to - String
オプショナル
トランザクション送信先のアドレス
コントラクト作成トランザクションの場合は undefined のままにしておきます。
value - Number|String|BN|BigNumber
オプショナル
このトランザクションで送信される Ether の値(単位は wei)
gas - Number
オプショナル
デフォルト値: 90,000
トランザクション実行に使用されるガスの整数値
使用されなかったガスはアカウントに戻されます。
gasPrice - Number|String|BN|BigNumber
オプショナル
ガス支払い時に使用されるガスの価格
data - String
オプショナル
コントラクトのファンクションコールのデータを含む ABI バイト文字列
または、コントラクト作成トランザクション時の初期化コード
nonce - Number
オプショナル
未承認トランザクションと同じ nonce を使用することにより、トランザクションを上書きすることができます。
2. callback - Function
オプショナル
コールバック
第一引数に error オブジェクト、第二引数に result オブジェクトが渡されます。
注意
戻り値
32バイトのトランザクションハッシュを返すコールバック
PromiEvent
イベントエミッタと連結した promise
トランザクションレシートが取得可能な場合に解決されます。
また、次のイベントが利用可能です。
"transactionHash"
戻り値: String
トランザクションの送信直後で、トランザクションハッシュが取得可能な際に実行されます。
"receipt"
戻り値: Object
トランザクションレシートが取得可能な際に実行されます。
"confirmation"
戻り値: Number, Object
12回目の confirmation まで、毎 confirmation 実行されます。
cofirmation 0、つまりブロックが取り込まれたタイミングから実行されます。
第一引数: confirmation number
第二引数: トランザクションレシート
"error"
戻り値: Error
トランザクションの送信時にエラーが発生した際に実行されます。
ガス不足エラーの場合、第二引数にレシートがセットされます。
サンプル
code:example.js
// コンパイル済みの solidity のコード
var code = "603d80600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350463c6888fa18114602d57005b6007600435028060005260206000f3";
// コールバックを使用
web3.eth.sendTransaction({
from: '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe',
data: code // deploying a contracrt
}, function(error, hash){
...
});
// promise を使用
web3.eth.sendTransaction({
from: '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe',
to: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe',
value: '1000000000000000'
})
.then(function(receipt){
...
});
// イベントエミッタを使用
web3.eth.sendTransaction({
from: '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe',
to: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe',
value: '1000000000000000'
})
.on('transactionHash', function(hash){
...
})
.on('receipt', function(receipt){
...
})
.on('confirmation', function(confirmationNumber, receipt){ ... })
.on('error', console.error); // ガス不足エラーの場合、第二引数にレシートがセットされます。
参考
関連